home *** CD-ROM | disk | FTP | other *** search
/ Developer CD Series 1996 April: Mac OS SDK / Dev.CD Apr 96 SDK / Dev.CD Apr 96 SDK1.toast / Development Kits (Disc 1) / OpenDoc / Environment Additions / Metrowerks / CodeWarrior Additions / SOM / somcm.h < prev    next >
Encoding:
C/C++ Source or Header  |  1995-10-27  |  22.3 KB  |  614 lines  |  [TEXT/MPS ]

  1.  
  2. /*
  3.  * This file was generated by the SOM Compiler.
  4.  * FileName: :SOMobjects™ for Mac OS:MPW Additions:Interfaces:CIncludes:somcm.h.
  5.  * Generated using:
  6.  *     SOM Precompiler somipc: 2.18
  7.  *     SOM Emitter emith.dll: 2.33
  8.  */
  9.  
  10. /*
  11.  * 
  12.  *      Copyright:    © 1994,1995 by Apple Computer, Inc.
  13.  *                  All rights reserved.
  14.  * 
  15.  *    10H9767, 10H9769  (C) COPYRIGHT International Business Machines Corp. 1992,1994
  16.  *    All Rights Reserved
  17.  *    Licensed Materials - Property of IBM
  18.  *    US Government Users Restricted Rights - Use, duplication or
  19.  *    disclosure restricted by GSA ADP Schedule Contract with IBM Corp.
  20.  * 
  21.  *   SOMClassMgr: System Object Model class manager
  22.  */
  23.  
  24.  
  25. #ifndef SOM_SOMClassMgr_h
  26. #define SOM_SOMClassMgr_h
  27.  
  28.  
  29. #include <som.h>
  30.  
  31. /*
  32.  * -- This emitter treats Method Tokens as Thunks by default.
  33.  * -- Use the sc modifier "nothunks" to change this default
  34.  */
  35. #undef somresolve_
  36. #define somresolve_(obj,mToken) ((somMethodProc*)((void)obj, mToken))
  37.  
  38. /*
  39.  * Define the class name as an object type
  40.  */
  41. #ifndef SOMClassMgr
  42. #define SOMClassMgr SOMObject
  43. #endif
  44. #include <somobj.h>
  45.  
  46. /*
  47.  * Start of user-defined types:
  48.  */
  49. #ifndef SOMClass
  50.     #define SOMClass SOMObject
  51. #endif /* SOMClass */
  52. #ifndef SOMObject
  53.     #define SOMObject SOMObject
  54. #endif /* SOMObject */
  55. #ifndef Repository
  56.     #define Repository SOMObject
  57. #endif /* Repository */
  58. #ifndef _IDL_SEQUENCE_SOMClass_defined
  59. #define _IDL_SEQUENCE_SOMClass_defined
  60. typedef struct {
  61.     unsigned long _maximum;
  62.     unsigned long _length;
  63.     SOMClass **_buffer;
  64. } _IDL_SEQUENCE_SOMClass;
  65. #endif /* _IDL_SEQUENCE_SOMClass_defined */ 
  66. typedef
  67. SOMClass** SOMClassMgr_SOMClassArray;
  68.  
  69. /*
  70.  *  Used for SOM 1.0 binary compatibility
  71.  */
  72.  
  73. #ifndef SOM_DONT_USE_SHORT_NAMES
  74.  
  75. #ifndef SOM_DONT_USE_SHORT_NAMES
  76. #ifndef SOMTGD_SOMClassArray
  77.     #ifdef SOMClassArray
  78.         #undef SOMClassArray
  79.         #define SOMTGD_SOMClassArray 1
  80.     #else
  81.         #define SOMClassArray SOMClassMgr_SOMClassArray
  82.     #endif /* SOMClassArray */
  83. #endif /* SOMTGD_SOMClassArray */
  84. #endif /* SOM_DONT_USE_SHORT_NAMES */
  85. #endif /* SOM_DONT_USE_SHORT_NAMES */
  86.  
  87. /*
  88.  * End of user-defined types.
  89.  */
  90.  
  91. #define SOMClassMgr_MajorVersion 70
  92. #define SOMClassMgr_MinorVersion 1
  93.  
  94. /*
  95.  * External name shortening if required
  96.  */
  97. #ifdef SOM_USE_SHORT_EXTERNAL_NAMES
  98. #define SOMClassMgrClassData somcmd
  99. #endif /* SOM_USE_SHORT_EXTERNAL_NAMES */
  100. /*--------------Migration------------*/
  101.  
  102. #ifdef OLDIBMSOMAPISUPPORT
  103. #define SOMClassMgr_classObj somNewClassReference(SOMClassMgr)
  104. #define _SOMClassMgr SOMClassMgr_classObj
  105. #define SOMClassMgrCClassData SOMClassMgrClassData
  106. #define SOMClassMgrNewClass(major,minor) somNewVersionedClassReference(SOMClassMgr,major,minor)
  107. #endif
  108.  
  109. /* define xxxMetaClass macro to facilitate (cls ## MetaClass) */
  110. #define SOMClassMgrMetaClass SOMClass
  111.  
  112.  
  113. /*
  114.  * Declare the class data structure
  115.  */
  116. SOMEXTERN struct SOMClassMgrClassDataStructure {
  117. #ifdef OLDIBMSOMAPISUPPORT
  118.     SOMAny            *classObject;    /* always zero, use somNewClassReference instead */
  119. #else
  120.     long zero;
  121. #endif
  122.     somStaticClassInfo *sci;
  123.     somDToken        instanceDataToken;
  124.     long reserved [3];
  125.     somMToken somFindClsInFile;
  126.     somMToken somFindClass;
  127.     somMToken somClassFromId;
  128.     somMToken somRegisterClass;
  129.     somMToken somRegisterClassLibrary;
  130.     somMToken somUnregisterClass;
  131.     somMToken somBeginPersistentClasses;
  132.     somMToken somEndPersistentClasses;
  133.     somMToken somJoinAffinityGroup;
  134.     somMToken somLocateClassFile;
  135.     somMToken somLoadClassFile;
  136.     somMToken somUnloadClassFile;
  137.     somMToken somGetInitFunction;
  138.     somMToken somMergeInto;
  139.     somMToken somSubstituteClass;
  140.     somMToken _get_somInterfaceRepository;
  141.     somMToken _set_somInterfaceRepository;
  142.     somMToken _get_somRegisteredClasses;
  143.     somMToken somGetRelatedClasses;
  144.     somMToken somRegisterClassWatcher;
  145.     somMToken somUnregisterClassWatcher;
  146.     somMToken somNotifyClassWatchers;
  147. } SOMDLINK SOMClassMgrClassData;
  148.  
  149. #if !defined(SOMClassMgr_Class_Source) && !defined(SOM_Module_somcm_Source)
  150. #if PRAGMA_IMPORT_SUPPORTED
  151. #pragma import list SOMClassMgrClassData
  152. #endif
  153. #endif
  154.  
  155.  
  156. /*
  157.  * New macro for SOMClassMgr
  158.  */
  159. #define SOMClassMgrNew() somNewObject(SOMClassMgr)
  160.  
  161. /*
  162.  * New Method: _get_somInterfaceRepository
  163.  */
  164. typedef Repository*   (SOMLINK *somTD_SOMClassMgr__get_somInterfaceRepository)(SOMClassMgr *somSelf);
  165. #define somMD_SOMClassMgr__get_somInterfaceRepository "::SOMClassMgr::somInterfaceRepository"
  166. #define SOMClassMgr__get_somInterfaceRepository(somSelf) \
  167.     (SOM_Resolve(somSelf, SOMClassMgr, _get_somInterfaceRepository) \
  168.     (somSelf))
  169. #ifndef SOMGD_get_somInterfaceRepository
  170.     #if defined _get_somInterfaceRepository || defined __get_somInterfaceRepository
  171.         #undef _get_somInterfaceRepository
  172.         #undef __get_somInterfaceRepository
  173.         #define SOMGD_get_somInterfaceRepository 1
  174.     #else
  175.         #define __get_somInterfaceRepository SOMClassMgr__get_somInterfaceRepository
  176.     #endif /* __get_somInterfaceRepository */
  177. #endif /* SOMGD_get_somInterfaceRepository */
  178.  
  179. /*
  180.  * New Method: _set_somInterfaceRepository
  181.  */
  182. typedef void   (SOMLINK *somTD_SOMClassMgr__set_somInterfaceRepository)(SOMClassMgr *somSelf,
  183.         Repository* somInterfaceRepository);
  184. #define somMD_SOMClassMgr__set_somInterfaceRepository "::SOMClassMgr::somInterfaceRepository"
  185. #define SOMClassMgr__set_somInterfaceRepository(somSelf,somInterfaceRepository) \
  186.     (SOM_Resolve(somSelf, SOMClassMgr, _set_somInterfaceRepository) \
  187.     (somSelf,somInterfaceRepository))
  188. #ifndef SOMGD_set_somInterfaceRepository
  189.     #if defined _set_somInterfaceRepository || defined __set_somInterfaceRepository
  190.         #undef _set_somInterfaceRepository
  191.         #undef __set_somInterfaceRepository
  192.         #define SOMGD_set_somInterfaceRepository 1
  193.     #else
  194.         #define __set_somInterfaceRepository SOMClassMgr__set_somInterfaceRepository
  195.     #endif /* __set_somInterfaceRepository */
  196. #endif /* SOMGD_set_somInterfaceRepository */
  197.  
  198. /*
  199.  * New Method: somClassFromId
  200.  */
  201. typedef SOMClass*   (SOMLINK *somTD_SOMClassMgr_somClassFromId)(SOMClassMgr *somSelf,
  202.         somId classId);
  203. #define somMD_SOMClassMgr_somClassFromId "::SOMClassMgr::somClassFromId"
  204. #define SOMClassMgr_somClassFromId(somSelf,classId) \
  205.     (SOM_Resolve(somSelf, SOMClassMgr, somClassFromId) \
  206.     (somSelf,classId))
  207. #ifndef SOMGD_somClassFromId
  208.     #if defined _somClassFromId || defined __somClassFromId
  209.         #undef _somClassFromId
  210.         #undef __somClassFromId
  211.         #define SOMGD_somClassFromId 1
  212.     #else
  213.         #define _somClassFromId SOMClassMgr_somClassFromId
  214.     #endif /* _somClassFromId */
  215. #endif /* SOMGD_somClassFromId */
  216.  
  217. /*
  218.  * New Method: somFindClass
  219.  */
  220. typedef SOMClass*   (SOMLINK *somTD_SOMClassMgr_somFindClass)(SOMClassMgr *somSelf,
  221.         somId classId,
  222.         long majorVersion,
  223.         long minorVersion);
  224. #define somMD_SOMClassMgr_somFindClass "::SOMClassMgr::somFindClass"
  225. #define SOMClassMgr_somFindClass(somSelf,classId,majorVersion,minorVersion) \
  226.     (SOM_Resolve(somSelf, SOMClassMgr, somFindClass) \
  227.     (somSelf,classId,majorVersion,minorVersion))
  228. #ifndef SOMGD_somFindClass
  229.     #if defined _somFindClass || defined __somFindClass
  230.         #undef _somFindClass
  231.         #undef __somFindClass
  232.         #define SOMGD_somFindClass 1
  233.     #else
  234.         #define _somFindClass SOMClassMgr_somFindClass
  235.     #endif /* _somFindClass */
  236. #endif /* SOMGD_somFindClass */
  237.  
  238. /*
  239.  * New Method: somFindClsInFile
  240.  */
  241. typedef SOMClass*   (SOMLINK *somTD_SOMClassMgr_somFindClsInFile)(SOMClassMgr *somSelf,
  242.         somId classId,
  243.         long majorVersion,
  244.         long minorVersion,
  245.         corbastring file);
  246. #define somMD_SOMClassMgr_somFindClsInFile "::SOMClassMgr::somFindClsInFile"
  247. #define SOMClassMgr_somFindClsInFile(somSelf,classId,majorVersion,minorVersion,file) \
  248.     (SOM_Resolve(somSelf, SOMClassMgr, somFindClsInFile) \
  249.     (somSelf,classId,majorVersion,minorVersion,file))
  250. #ifndef SOMGD_somFindClsInFile
  251.     #if defined _somFindClsInFile || defined __somFindClsInFile
  252.         #undef _somFindClsInFile
  253.         #undef __somFindClsInFile
  254.         #define SOMGD_somFindClsInFile 1
  255.     #else
  256.         #define _somFindClsInFile SOMClassMgr_somFindClsInFile
  257.     #endif /* _somFindClsInFile */
  258. #endif /* SOMGD_somFindClsInFile */
  259.  
  260. /*
  261.  * New Method: somSubstituteClass
  262.  */
  263. typedef long   (SOMLINK *somTD_SOMClassMgr_somSubstituteClass)(SOMClassMgr *somSelf,
  264.         corbastring origClassName,
  265.         corbastring newClassName);
  266. #define somMD_SOMClassMgr_somSubstituteClass "::SOMClassMgr::somSubstituteClass"
  267. #define SOMClassMgr_somSubstituteClass(somSelf,origClassName,newClassName) \
  268.     (SOM_Resolve(somSelf, SOMClassMgr, somSubstituteClass) \
  269.     (somSelf,origClassName,newClassName))
  270. #ifndef SOMGD_somSubstituteClass
  271.     #if defined _somSubstituteClass || defined __somSubstituteClass
  272.         #undef _somSubstituteClass
  273.         #undef __somSubstituteClass
  274.         #define SOMGD_somSubstituteClass 1
  275.     #else
  276.         #define _somSubstituteClass SOMClassMgr_somSubstituteClass
  277.     #endif /* _somSubstituteClass */
  278. #endif /* SOMGD_somSubstituteClass */
  279.  
  280. /*
  281.  * New Method: somUnregisterClass
  282.  */
  283. typedef long   (SOMLINK *somTD_SOMClassMgr_somUnregisterClass)(SOMClassMgr *somSelf,
  284.         SOMClass* classObj);
  285. #define somMD_SOMClassMgr_somUnregisterClass "::SOMClassMgr::somUnregisterClass"
  286. #define SOMClassMgr_somUnregisterClass(somSelf,classObj) \
  287.     (SOM_Resolve(somSelf, SOMClassMgr, somUnregisterClass) \
  288.     (somSelf,classObj))
  289. #ifndef SOMGD_somUnregisterClass
  290.     #if defined _somUnregisterClass || defined __somUnregisterClass
  291.         #undef _somUnregisterClass
  292.         #undef __somUnregisterClass
  293.         #define SOMGD_somUnregisterClass 1
  294.     #else
  295.         #define _somUnregisterClass SOMClassMgr_somUnregisterClass
  296.     #endif /* _somUnregisterClass */
  297. #endif /* SOMGD_somUnregisterClass */
  298.  
  299. /*
  300.  * New Method: somLoadClassFile
  301.  */
  302. typedef SOMClass*   (SOMLINK *somTD_SOMClassMgr_somLoadClassFile)(SOMClassMgr *somSelf,
  303.         somId classId,
  304.         long majorVersion,
  305.         long minorVersion,
  306.         corbastring file);
  307. #define somMD_SOMClassMgr_somLoadClassFile "::SOMClassMgr::somLoadClassFile"
  308. #define SOMClassMgr_somLoadClassFile(somSelf,classId,majorVersion,minorVersion,file) \
  309.     (SOM_Resolve(somSelf, SOMClassMgr, somLoadClassFile) \
  310.     (somSelf,classId,majorVersion,minorVersion,file))
  311. #ifndef SOMGD_somLoadClassFile
  312.     #if defined _somLoadClassFile || defined __somLoadClassFile
  313.         #undef _somLoadClassFile
  314.         #undef __somLoadClassFile
  315.         #define SOMGD_somLoadClassFile 1
  316.     #else
  317.         #define _somLoadClassFile SOMClassMgr_somLoadClassFile
  318.     #endif /* _somLoadClassFile */
  319. #endif /* SOMGD_somLoadClassFile */
  320.  
  321. /*
  322.  * New Method: somLocateClassFile
  323.  */
  324. typedef corbastring   (SOMLINK *somTD_SOMClassMgr_somLocateClassFile)(SOMClassMgr *somSelf,
  325.         somId classId,
  326.         long majorVersion,
  327.         long minorVersion);
  328. #define somMD_SOMClassMgr_somLocateClassFile "::SOMClassMgr::somLocateClassFile"
  329. #define SOMClassMgr_somLocateClassFile(somSelf,classId,majorVersion,minorVersion) \
  330.     (SOM_Resolve(somSelf, SOMClassMgr, somLocateClassFile) \
  331.     (somSelf,classId,majorVersion,minorVersion))
  332. #ifndef SOMGD_somLocateClassFile
  333.     #if defined _somLocateClassFile || defined __somLocateClassFile
  334.         #undef _somLocateClassFile
  335.         #undef __somLocateClassFile
  336.         #define SOMGD_somLocateClassFile 1
  337.     #else
  338.         #define _somLocateClassFile SOMClassMgr_somLocateClassFile
  339.     #endif /* _somLocateClassFile */
  340. #endif /* SOMGD_somLocateClassFile */
  341.  
  342. /*
  343.  * New Method: somGetInitFunction
  344.  */
  345. typedef corbastring   (SOMLINK *somTD_SOMClassMgr_somGetInitFunction)(SOMClassMgr *somSelf);
  346. #define somMD_SOMClassMgr_somGetInitFunction "::SOMClassMgr::somGetInitFunction"
  347. #define SOMClassMgr_somGetInitFunction(somSelf) \
  348.     (SOM_Resolve(somSelf, SOMClassMgr, somGetInitFunction) \
  349.     (somSelf))
  350. #ifndef SOMGD_somGetInitFunction
  351.     #if defined _somGetInitFunction || defined __somGetInitFunction
  352.         #undef _somGetInitFunction
  353.         #undef __somGetInitFunction
  354.         #define SOMGD_somGetInitFunction 1
  355.     #else
  356.         #define _somGetInitFunction SOMClassMgr_somGetInitFunction
  357.     #endif /* _somGetInitFunction */
  358. #endif /* SOMGD_somGetInitFunction */
  359.  
  360. /*
  361.  * New Method: somRegisterClass
  362.  */
  363. typedef void   (SOMLINK *somTD_SOMClassMgr_somRegisterClass)(SOMClassMgr *somSelf,
  364.         SOMClass* classObj);
  365. #define somMD_SOMClassMgr_somRegisterClass "::SOMClassMgr::somRegisterClass"
  366. #define SOMClassMgr_somRegisterClass(somSelf,classObj) \
  367.     (SOM_Resolve(somSelf, SOMClassMgr, somRegisterClass) \
  368.     (somSelf,classObj))
  369. #ifndef SOMGD_somRegisterClass
  370.     #if defined _somRegisterClass || defined __somRegisterClass
  371.         #undef _somRegisterClass
  372.         #undef __somRegisterClass
  373.         #define SOMGD_somRegisterClass 1
  374.     #else
  375.         #define _somRegisterClass SOMClassMgr_somRegisterClass
  376.     #endif /* _somRegisterClass */
  377. #endif /* SOMGD_somRegisterClass */
  378.  
  379. /*
  380.  * New Method: somUnloadClassFile
  381.  */
  382. typedef long   (SOMLINK *somTD_SOMClassMgr_somUnloadClassFile)(SOMClassMgr *somSelf,
  383.         SOMClass* classObj);
  384. #define somMD_SOMClassMgr_somUnloadClassFile "::SOMClassMgr::somUnloadClassFile"
  385. #define SOMClassMgr_somUnloadClassFile(somSelf,classObj) \
  386.     (SOM_Resolve(somSelf, SOMClassMgr, somUnloadClassFile) \
  387.     (somSelf,classObj))
  388. #ifndef SOMGD_somUnloadClassFile
  389.     #if defined _somUnloadClassFile || defined __somUnloadClassFile
  390.         #undef _somUnloadClassFile
  391.         #undef __somUnloadClassFile
  392.         #define SOMGD_somUnloadClassFile 1
  393.     #else
  394.         #define _somUnloadClassFile SOMClassMgr_somUnloadClassFile
  395.     #endif /* _somUnloadClassFile */
  396. #endif /* SOMGD_somUnloadClassFile */
  397.  
  398. /*
  399.  * New Method: _get_somRegisteredClasses
  400.  */
  401. typedef _IDL_SEQUENCE_SOMClass   (SOMLINK *somTD_SOMClassMgr__get_somRegisteredClasses)(SOMClassMgr *somSelf);
  402. #define somMD_SOMClassMgr__get_somRegisteredClasses "::SOMClassMgr::somRegisteredClasses"
  403. #define SOMClassMgr__get_somRegisteredClasses(somSelf) \
  404.     (SOM_Resolve(somSelf, SOMClassMgr, _get_somRegisteredClasses) \
  405.     (somSelf))
  406. #ifndef SOMGD_get_somRegisteredClasses
  407.     #if defined _get_somRegisteredClasses || defined __get_somRegisteredClasses
  408.         #undef _get_somRegisteredClasses
  409.         #undef __get_somRegisteredClasses
  410.         #define SOMGD_get_somRegisteredClasses 1
  411.     #else
  412.         #define __get_somRegisteredClasses SOMClassMgr__get_somRegisteredClasses
  413.     #endif /* __get_somRegisteredClasses */
  414. #endif /* SOMGD_get_somRegisteredClasses */
  415.  
  416. /*
  417.  * New Method: somGetRelatedClasses
  418.  */
  419. typedef SOMClassMgr_SOMClassArray   (SOMLINK *somTD_SOMClassMgr_somGetRelatedClasses)(SOMClassMgr *somSelf,
  420.         SOMClass* classObj);
  421. #define somMD_SOMClassMgr_somGetRelatedClasses "::SOMClassMgr::somGetRelatedClasses"
  422. #define SOMClassMgr_somGetRelatedClasses(somSelf,classObj) \
  423.     (SOM_Resolve(somSelf, SOMClassMgr, somGetRelatedClasses) \
  424.     (somSelf,classObj))
  425. #ifndef SOMGD_somGetRelatedClasses
  426.     #if defined _somGetRelatedClasses || defined __somGetRelatedClasses
  427.         #undef _somGetRelatedClasses
  428.         #undef __somGetRelatedClasses
  429.         #define SOMGD_somGetRelatedClasses 1
  430.     #else
  431.         #define _somGetRelatedClasses SOMClassMgr_somGetRelatedClasses
  432.     #endif /* _somGetRelatedClasses */
  433. #endif /* SOMGD_somGetRelatedClasses */
  434.  
  435. /*
  436.  * New Method: somMergeInto
  437.  */
  438. typedef void   (SOMLINK *somTD_SOMClassMgr_somMergeInto)(SOMClassMgr *somSelf,
  439.         SOMObject* targetObj);
  440. #define somMD_SOMClassMgr_somMergeInto "::SOMClassMgr::somMergeInto"
  441. #define SOMClassMgr_somMergeInto(somSelf,targetObj) \
  442.     (SOM_Resolve(somSelf, SOMClassMgr, somMergeInto) \
  443.     (somSelf,targetObj))
  444. #ifndef SOMGD_somMergeInto
  445.     #if defined _somMergeInto || defined __somMergeInto
  446.         #undef _somMergeInto
  447.         #undef __somMergeInto
  448.         #define SOMGD_somMergeInto 1
  449.     #else
  450.         #define _somMergeInto SOMClassMgr_somMergeInto
  451.     #endif /* _somMergeInto */
  452. #endif /* SOMGD_somMergeInto */
  453.  
  454. /*
  455.  * New Method: somRegisterClassLibrary
  456.  */
  457. typedef void   (SOMLINK *somTD_SOMClassMgr_somRegisterClassLibrary)(SOMClassMgr *somSelf,
  458.         corbastring libraryName,
  459.         somMethodPtr libraryInitRtn);
  460. #define somMD_SOMClassMgr_somRegisterClassLibrary "::SOMClassMgr::somRegisterClassLibrary"
  461. #define SOMClassMgr_somRegisterClassLibrary(somSelf,libraryName,libraryInitRtn) \
  462.     (SOM_Resolve(somSelf, SOMClassMgr, somRegisterClassLibrary) \
  463.     (somSelf,libraryName,libraryInitRtn))
  464. #ifndef SOMGD_somRegisterClassLibrary
  465.     #if defined _somRegisterClassLibrary || defined __somRegisterClassLibrary
  466.         #undef _somRegisterClassLibrary
  467.         #undef __somRegisterClassLibrary
  468.         #define SOMGD_somRegisterClassLibrary 1
  469.     #else
  470.         #define _somRegisterClassLibrary SOMClassMgr_somRegisterClassLibrary
  471.     #endif /* _somRegisterClassLibrary */
  472. #endif /* SOMGD_somRegisterClassLibrary */
  473.  
  474. /*
  475.  * New Method: somBeginPersistentClasses
  476.  */
  477. typedef void   (SOMLINK *somTD_SOMClassMgr_somBeginPersistentClasses)(SOMClassMgr *somSelf);
  478. #define somMD_SOMClassMgr_somBeginPersistentClasses "::SOMClassMgr::somBeginPersistentClasses"
  479. #define SOMClassMgr_somBeginPersistentClasses(somSelf) \
  480.     (SOM_Resolve(somSelf, SOMClassMgr, somBeginPersistentClasses) \
  481.     (somSelf))
  482. #ifndef SOMGD_somBeginPersistentClasses
  483.     #if defined _somBeginPersistentClasses || defined __somBeginPersistentClasses
  484.         #undef _somBeginPersistentClasses
  485.         #undef __somBeginPersistentClasses
  486.         #define SOMGD_somBeginPersistentClasses 1
  487.     #else
  488.         #define _somBeginPersistentClasses SOMClassMgr_somBeginPersistentClasses
  489.     #endif /* _somBeginPersistentClasses */
  490. #endif /* SOMGD_somBeginPersistentClasses */
  491.  
  492. /*
  493.  * New Method: somEndPersistentClasses
  494.  */
  495. typedef void   (SOMLINK *somTD_SOMClassMgr_somEndPersistentClasses)(SOMClassMgr *somSelf);
  496. #define somMD_SOMClassMgr_somEndPersistentClasses "::SOMClassMgr::somEndPersistentClasses"
  497. #define SOMClassMgr_somEndPersistentClasses(somSelf) \
  498.     (SOM_Resolve(somSelf, SOMClassMgr, somEndPersistentClasses) \
  499.     (somSelf))
  500. #ifndef SOMGD_somEndPersistentClasses
  501.     #if defined _somEndPersistentClasses || defined __somEndPersistentClasses
  502.         #undef _somEndPersistentClasses
  503.         #undef __somEndPersistentClasses
  504.         #define SOMGD_somEndPersistentClasses 1
  505.     #else
  506.         #define _somEndPersistentClasses SOMClassMgr_somEndPersistentClasses
  507.     #endif /* _somEndPersistentClasses */
  508. #endif /* SOMGD_somEndPersistentClasses */
  509.  
  510. /*
  511.  * New Method: somJoinAffinityGroup
  512.  */
  513. typedef boolean   (SOMLINK *somTD_SOMClassMgr_somJoinAffinityGroup)(SOMClassMgr *somSelf,
  514.         SOMClass* newClass,
  515.         SOMClass* affClass);
  516. #define somMD_SOMClassMgr_somJoinAffinityGroup "::SOMClassMgr::somJoinAffinityGroup"
  517. #define SOMClassMgr_somJoinAffinityGroup(somSelf,newClass,affClass) \
  518.     (SOM_Resolve(somSelf, SOMClassMgr, somJoinAffinityGroup) \
  519.     (somSelf,newClass,affClass))
  520. #ifndef SOMGD_somJoinAffinityGroup
  521.     #if defined _somJoinAffinityGroup || defined __somJoinAffinityGroup
  522.         #undef _somJoinAffinityGroup
  523.         #undef __somJoinAffinityGroup
  524.         #define SOMGD_somJoinAffinityGroup 1
  525.     #else
  526.         #define _somJoinAffinityGroup SOMClassMgr_somJoinAffinityGroup
  527.     #endif /* _somJoinAffinityGroup */
  528. #endif /* SOMGD_somJoinAffinityGroup */
  529.  
  530. /*
  531.  * New Method: somRegisterClassWatcher
  532.  */
  533. typedef void   (SOMLINK *somTD_SOMClassMgr_somRegisterClassWatcher)(SOMClassMgr *somSelf,
  534.         somMethodPtr callMe,
  535.         somToken cookie);
  536. #define somMD_SOMClassMgr_somRegisterClassWatcher "::SOMClassMgr::somRegisterClassWatcher"
  537. #define SOMClassMgr_somRegisterClassWatcher(somSelf,callMe,cookie) \
  538.     (SOM_Resolve(somSelf, SOMClassMgr, somRegisterClassWatcher) \
  539.     (somSelf,callMe,cookie))
  540. #ifndef SOMGD_somRegisterClassWatcher
  541.     #if defined _somRegisterClassWatcher || defined __somRegisterClassWatcher
  542.         #undef _somRegisterClassWatcher
  543.         #undef __somRegisterClassWatcher
  544.         #define SOMGD_somRegisterClassWatcher 1
  545.     #else
  546.         #define _somRegisterClassWatcher SOMClassMgr_somRegisterClassWatcher
  547.     #endif /* _somRegisterClassWatcher */
  548. #endif /* SOMGD_somRegisterClassWatcher */
  549.  
  550. /*
  551.  * New Method: somUnregisterClassWatcher
  552.  */
  553. typedef void   (SOMLINK *somTD_SOMClassMgr_somUnregisterClassWatcher)(SOMClassMgr *somSelf,
  554.         somMethodPtr callMe,
  555.         somToken cookie);
  556. #define somMD_SOMClassMgr_somUnregisterClassWatcher "::SOMClassMgr::somUnregisterClassWatcher"
  557. #define SOMClassMgr_somUnregisterClassWatcher(somSelf,callMe,cookie) \
  558.     (SOM_Resolve(somSelf, SOMClassMgr, somUnregisterClassWatcher) \
  559.     (somSelf,callMe,cookie))
  560. #ifndef SOMGD_somUnregisterClassWatcher
  561.     #if defined _somUnregisterClassWatcher || defined __somUnregisterClassWatcher
  562.         #undef _somUnregisterClassWatcher
  563.         #undef __somUnregisterClassWatcher
  564.         #define SOMGD_somUnregisterClassWatcher 1
  565.     #else
  566.         #define _somUnregisterClassWatcher SOMClassMgr_somUnregisterClassWatcher
  567.     #endif /* _somUnregisterClassWatcher */
  568. #endif /* SOMGD_somUnregisterClassWatcher */
  569.  
  570. /*
  571.  * New Method: somNotifyClassWatchers
  572.  */
  573. typedef void   (SOMLINK *somTD_SOMClassMgr_somNotifyClassWatchers)(SOMClassMgr *somSelf,
  574.         SOMClass* classObj,
  575.         somToken mt,
  576.         long watchCode);
  577. #define somMD_SOMClassMgr_somNotifyClassWatchers "::SOMClassMgr::somNotifyClassWatchers"
  578. #define SOMClassMgr_somNotifyClassWatchers(somSelf,classObj,mt,watchCode) \
  579.     (SOM_Resolve(somSelf, SOMClassMgr, somNotifyClassWatchers) \
  580.     (somSelf,classObj,mt,watchCode))
  581. #ifndef SOMGD_somNotifyClassWatchers
  582.     #if defined _somNotifyClassWatchers || defined __somNotifyClassWatchers
  583.         #undef _somNotifyClassWatchers
  584.         #undef __somNotifyClassWatchers
  585.         #define SOMGD_somNotifyClassWatchers 1
  586.     #else
  587.         #define _somNotifyClassWatchers SOMClassMgr_somNotifyClassWatchers
  588.     #endif /* _somNotifyClassWatchers */
  589. #endif /* SOMGD_somNotifyClassWatchers */
  590. #ifndef SOM_DONT_USE_INHERITED_MACROS
  591. #define SOMClassMgr_somInit SOMObject_somInit
  592. #define SOMClassMgr_somUninit SOMObject_somUninit
  593. #define SOMClassMgr_somDuplicateReference SOMObject_somDuplicateReference
  594. #define SOMClassMgr_somCompareReference SOMObject_somCompareReference
  595. #define SOMClassMgr_somRelease SOMObject_somRelease
  596. #define SOMClassMgr_somFree SOMObject_somFree
  597. #define SOMClassMgr_somCanDelete SOMObject_somCanDelete
  598. #define SOMClassMgr_somGetClass SOMObject_somGetClass
  599. #define SOMClassMgr_somGetClassName SOMObject_somGetClassName
  600. #define SOMClassMgr_somGetSize SOMObject_somGetSize
  601. #define SOMClassMgr_somIsA SOMObject_somIsA
  602. #define SOMClassMgr_somRespondsTo SOMObject_somRespondsTo
  603. #define SOMClassMgr_somIsInstanceOf SOMObject_somIsInstanceOf
  604. #define SOMClassMgr_somDispatch SOMObject_somDispatch
  605. #define SOMClassMgr_somClassDispatch SOMObject_somClassDispatch
  606. #define SOMClassMgr_somCastObj SOMObject_somCastObj
  607. #define SOMClassMgr_somResetObj SOMObject_somResetObj
  608. #define SOMClassMgr_somPrintSelf SOMObject_somPrintSelf
  609. #define SOMClassMgr_somDumpSelf SOMObject_somDumpSelf
  610. #define SOMClassMgr_somDumpSelfInt SOMObject_somDumpSelfInt
  611. #endif /* SOM_DONT_USE_INHERITED_MACROS */
  612.  
  613. #endif       /* SOM_SOMClassMgr_h */
  614.